﻿#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>
#include<stdlib.h> 
#include"Contact.h"

//数据类型为PersonInfo
typedef PeoInfo SQDataType;

//typedef int SQDataType;

//动态顺序表
typedef struct SeqList {
	SQDataType* a;
	int size;//保存有效数据个数
	int capacity;//空间的⼤⼩
}SL;


//初始化与销毁
void SeqListInit(SL* psl);
void SeqListDesTroy(SL* psl);
//void SeqListPrint(SL* sl);
void CheckCapacity(SL* psl);
// 头部插⼊删除 / 尾部插⼊删除
void SeqListPushBack(SL* psl, SQDataType x);
void SeqListPushFront(SL* psl, SQDataType x);
void SeqListPopBack(SL* psl);
void SeqListPopFront(SL* psl);
//查找
//int SeqListFind(SL* psl, SQDataType x);
// 在指定位置之前插⼊/删除
//void SeqListInsert(SL* psl, int pos, SQDataType x);
void SeqListInsert(SL* psl, size_t pos, SQDataType x);
void SeqListErase(SL* psl, size_t pos);

size_t SeqListSize(SL* psl);

//修改指定位置的值
void SeqListAt(SL* psl, size_t pos, SQDataType x);
